package orders

import (
	"yundian/internel/app/models/devices"
	"yundian/internel/app/models/dividendslog"
	"yundian/internel/app/models/prices"
	"yundian/internel/pkg/dingo"
)

// 订单
type OrderModel struct {
	Id     int    `gorm:"column:id" json:"id"`       //
	Appid  string `gorm:"column:appid" json:"appid"` // Appid
	Mchid  string `gorm:"column:mchid" json:"-"`     // 商户ID
	Openid string `gorm:"column:openid" json:"-"`    // openid

	TradeNo    string `gorm:"column:trade_no" json:"tradeNo"`        // 商户订单号
	OutTradeNo string `gorm:"column:out_trade_no" json:"outTradeNo"` // 第三方订单号
	TradeType  string `gorm:"column:trade_type" json:"tradeType"`    // 第三方订单类型 PreAuthPay:预授权 Normal:普通支付(押金支付)
	// 第三方交易状态 微信免押：CREATED 商户已创建服务订单  DOING 服务订单进行中 DONE 服务订单完成 REVOKED 商户取消服务订单 EXPIRED 服务订单已失效
	// 第三方交易状态 微信押金：SUCCESS 支付成功
	// 第三方交易状态 支付宝：
	TradeState      string `gorm:"column:trade_state" json:"tradeState"`
	TradeStateDoing string `gorm:"column:trade_state_doing" json:"tradeStateDoing"`
	// 第三方交易状态 微信免押-doing状态下：USER_CONFIRM：用户确认  MCH_COMPLETE：商户完结
	TradeStateDesc string `gorm:"column:trade_state_desc" json:"tradeStateDesc"` // 第三方交易状态描述
	State          int8   `gorm:"column:state" json:"state"`                     // 商户平台订单状态 1:等待下单2:使用中3:已撤销4:交易失败5:已完成6:支付超时7:待守约10:已删除 11退款中

	Title string `gorm:"column:title" json:"title"` // 订单标题

	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`     // 设备标识
	SharedMode string `gorm:"column:shared_mode" json:"sharedMode"` // 设备共享模型  pcl密码线充 cdb充电宝
	FeeMode    int8   `gorm:"column:fee_mode" json:"feeMode"`       // 设备费用模型  2:预付费  1:普通

	Money              int64  `gorm:"column:money" json:"-"`                      // 订单总金额 - 单位分
	MoneyStr           string `gorm:"column:money_str" json:"moneyStr"`           //
	PayMoney           int64  `gorm:"column:pay_money" json:"-"`                  // 支付金额 - 单位分
	PayMoneyStr        string `gorm:"column:pay_money_str" json:"payMoneyStr"`    //
	RefundMoney        int64  `gorm:"column:refund_money" json:"refundMoney"`     // 退款金额 - 单位分
	RefundMoneyStr     string  `gorm:"-" json:"refundMoneyStr"`     // 退款金额 - 单位分
	SettlementWay      int8   `gorm:"column:settlement_way" json:"settlementWay"` // 结算方式 1: 微信支付
	SettlementMoney    int64  `gorm:"column:settlement_money" json:"-"`           // 结算金额
	SettlementMoneyStr string `gorm:"column:settlement_money_str" json:"settlementMoneyStr"`
	SettlementState    int8   `gorm:"column:settlement_state" json:"settlementState"` // 结算状态 1:未结算 2:结算中 3:已结算

	CouponType     int8   `gorm:"column:coupon_type" json:"couponType"`
	CouponMoney    int64  `gorm:"column:coupon_money" json:"-"`
	CouponMoneyStr string `gorm:"column:coupon_money_str" json:"couponMoneyStr"`

	OrderFrom string `gorm:"column:order_from" json:"orderFrom"` // 订单来源 weixin zhifubao
	PayFrom   int8   `gorm:"column:pay_from" json:"payFrom"`     // 支付来源 1免押 2押金
	PayType   int8   `gorm:"column:pay_type" json:"payType"`     // 支付类型 3:微信支付

	PlaceId     int    `gorm:"column:place_id" json:"placeId"`       // 网点ID
	PlaceName   string `gorm:"column:place_name" json:"placeName"`   // 网点名
	MemberId    string `gorm:"column:member_id" json:"memberId"`     // 会员ID
	MemberName  string `gorm:"column:member_name" json:"memberName"` // 会员名
	MemberPhone string `gorm:"column:phone" json:"phone"`            // 会员手机号码
	UserId      int    `gorm:"column:user_id" json:"userId"`         // 代理商ID
	UserName    string `gorm:"column:user_name" json:"userName"`

	OvertimeState int8 `gorm:"column:overtime_state" json:"overtime_state"` // 充电宝超时状态 1:正常 2:超时
	IsDelete      int8 `gorm:"column:is_delete" json:"-"`                   // 是否删除 默认0 1:删除
	IsDraw        int8 `gorm:"column:is_draw" json:"isDraw"`                // 是否抽单 默认0 1:抽单

	PayAt    dingo.Time `gorm:"column:pay_at" json:"payAt"`
	CreateAt dingo.Time `gorm:"column:create_at" json:"createAt"`
	UpdateAt dingo.Time `gorm:"column:update_at" json:"updateAt"`
	RefundAt dingo.Time `gorm:"column:refund_at" json:"-"`
	EndAt    dingo.Time `gorm:"column:end_at" json:"endAt"`
	DeleteAt dingo.Time `gorm:"column:delete_at" json:"-"`
	DrawAt   dingo.Time `gorm:"column:draw_at" json:"-"`
	BeginAt  dingo.Time `gorm:"column:begin_at" json:"beginAt"`

	// 新增
	ParentId       int    `gorm:"parent_id" json:"parentId"`               // 父ID
	AgentUserId    int    `gorm:"column:agent_user_id" json:"agentUserId"` // 代理商用户ID
	ProductId      string `gorm:"product_id" json:"productId"`             // 产生订单时的产品价格(商户对应的价格)
	UserNo         string `gorm:"-" json:"userNo"`                         // 用户编号
	MaintainerName string `gorm:"-" json:"maintainerName"`                 // 维护者

	KAUserId int `gorm:"column:ka_user_id" json:"kaUserId"`

	IsTianHai int8 `gorm:"column:is_tianhai" json:"isTianHai"` // 是否是天海的订单，定时任务用

	Phone string `gorm:"column:phone" json:"phone"` // 会员手机号码

	ProdType uint8 `gorm:"column:prod_type" json:"prodType"`
}

// 订单列表
type OrderList struct {
	Id         int    `gorm:"column:id" json:"id"`       //

	TradeNo    string `gorm:"column:trade_no" json:"tradeNo"`        // 商户订单号
	OutTradeNo string `gorm:"column:out_trade_no" json:"outTradeNo"` // 第三方订单号

	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`     // 设备标识

	OrderFrom string `gorm:"column:order_from" json:"orderFrom"` // 订单来源 weixin zhifubao
	PayFrom   int8   `gorm:"column:pay_from" json:"payFrom"`     // 支付来源 1免押 2押金
	PayType   int8   `gorm:"column:pay_type" json:"payType"`     // 支付类型 3:微信支付
	State     int8   `gorm:"column:state" json:"state"`                     // 商户平台订单状态 1:等待下单2:使用中3:已撤销4:交易失败5:已完成6:支付超时7:待守约10:已删除

	TradeState      string `gorm:"column:trade_state" json:"tradeState"`
	TradeStateDoing string `gorm:"column:trade_state_doing" json:"tradeStateDoing"`
	TradeStateDesc  string `gorm:"column:trade_state_desc" json:"tradeStateDesc"` // 第三方交易状态描述

	HotelId       string `gorm:"column:hotel_id" json:"hotelId"`     // 携程酒店ID

	PlaceId     int    `gorm:"column:place_id" json:"placeId"`       // 网点ID
	PlaceName   string `gorm:"column:place_name" json:"placeName"`   // 网点名
	MemberId    string `gorm:"column:member_id" json:"memberId"`     // 会员ID
	MemberName  string `gorm:"column:member_name" json:"memberName"` // 会员名
	MemberPhone string `gorm:"column:phone" json:"phone"`            // 会员手机号码
	UserId      int    `gorm:"column:user_id" json:"userId"`         // 代理商ID
	UserName    string `gorm:"column:user_name" json:"userName"`
	Phone       string `gorm:"column:phone" json:"phone"` // 会员手机号码

	PayMoney           int64  `gorm:"column:pay_money" json:"-"`                  // 支付金额 - 单位分
	SettlementMoney    int64  `gorm:"column:settlement_money" json:"settlementMoney"`           // 结算金额
	SettlementMoneyStr string `gorm:"column:settlement_money_str" json:"settlementMoneyStr"`

	CouponType     int8   `gorm:"column:coupon_type" json:"couponType"`
	CouponMoney    int64  `gorm:"column:coupon_money" json:"-"`
	CouponMoneyStr string `gorm:"column:coupon_money_str" json:"couponMoneyStr"`

	IsDraw             int8 `gorm:"column:is_draw" json:"isDraw"`                // 是否抽单 默认0 1:抽单

	PayAt    dingo.Time `gorm:"column:pay_at" json:"payAt"`
	CreateAt dingo.Time `gorm:"column:create_at" json:"createAt"`
	UpdateAt dingo.Time `gorm:"column:update_at" json:"updateAt"`
	RefundAt dingo.Time `gorm:"column:refund_at" json:"-"`
	EndAt    dingo.Time `gorm:"column:end_at" json:"endAt"`
	DeleteAt dingo.Time `gorm:"column:delete_at" json:"-"`
	DrawAt   dingo.Time `gorm:"column:draw_at" json:"-"`
	BeginAt  dingo.Time `gorm:"column:begin_at" json:"beginAt"`
}

func New() *OrderModel {
	return &OrderModel{}
}

// 订单详情
type OrderDetail struct {
	// 基础信息
	OrderModel

	// 当前使用时长
	UseTime int64 `gorm:"-" json:"useTime"`
	// 当前产生费用
	UseMoney int64 `gorm:"-" json:"useMoney"`
	// 预计结束时长
	FetureTime int64 `gorm:"-" json:"fetureTime"`
	// 设备信息
	DeviceInfo *devices.DeviceType `gorm:"-" json:"deviceInfo"`
	// 分成信息
	DividendsList []dividendslog.ProfitInfo `gorm:"-" json:"dividendsList"`
	// 价格信息
	PriceInfo *prices.PriceModel `gorm:"-" json:"priceInfo"`

	// 半年订单

	// 分成信息
	//UsedTime                 string `json:"usedTime"`                // 使用时长 单位为：小时
	//DividendUserName         string `json:"dividendUserName`         // 名称
	//DividendMoneyStr         string `json:"dividendMoneyStr`         // 分成比例金额
	//DividendProfitProportion int    `json:"dividendProfitProportion` // 分成比例

}

type AliPayOrdersDetail struct {

	// 基础信息
	AliPayOrdersModel
	prices.PriceModel

	//// 当前使用时长
	//UseTime int64 `gorm:"-" json:"useTime"`
	//// 当前产生费用
	//UseMoney int64 `gorm:"-" json:"useMoney"`
	//// 预计结束时长
	//FetureTime int64 `gorm:"-" json:"fetureTime"`
	//// 设备信息
	//DeviceInfo *devices.DeviceType `gorm:"-" json:"deviceInfo"`
	//// 价格信息
	//PriceInfo *prices.PriceModel `gorm:"-" json:"priceInfo"`
}

// OrderListByPlaceModel 公众号商户订单列表
type OrderListByPlaceModel struct {
	TradeNo    string `gorm:"column:trade_no" json:"tradeNo"`        // 商户订单号
	OutTradeNo string `gorm:"column:out_trade_no" json:"outTradeNo"` // 第三方订单号
	PlaceName  string `gorm:"column:place_name" json:"placeName"`    // 网点名
	MemberId   string `gorm:"column:member_id" json:"memberId"`      // 会员ID
	MemberName string `gorm:"column:member_name" json:"memberName"`  // 会员名
	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`      // 设备标识
	SharedMode string `gorm:"column:shared_mode" json:"sharedMode"`  // 设备共享模型  pcl密码线充 cdb充电宝

	OrderFrom string `gorm:"column:order_from" json:"orderFrom"` // 订单来源 weixin zhifubao
	PayFrom   int8   `gorm:"column:pay_from" json:"payFrom"`     // 支付来源 1免押 2押金
	PayType   int8   `gorm:"column:pay_type" json:"payType"`     // 支付类型 3:微信支付

	State int8 `gorm:"column:state" json:"state"` // 商户平台订单状态 1:等待下单2:使用中3:已撤销4:交易失败5:已完成6:支付超时7:待守约10:已删除

	SettlementWay      int8   `gorm:"column:settlement_way" json:"settlementWay"` // 结算方式 1: 微信支付
	SettlementMoney    int64  `gorm:"column:settlement_money" json:"-"`           // 结算金额
	SettlementMoneyStr string `gorm:"column:settlement_money_str" json:"settlementMoneyStr"`
	SettlementState    int8   `gorm:"column:settlement_state" json:"settlementState"` // 结算状态 1:未结算 2:结算中 3:已结算

	PayAt    dingo.Time `gorm:"column:pay_at" json:"payAt"`
	CreateAt dingo.Time `gorm:"column:create_at" json:"createAt"`
	UpdateAt dingo.Time `gorm:"column:update_at" json:"updateAt"`
	EndAt    dingo.Time `gorm:"column:end_at" json:"endAt"`
}

// 公众号代理商订单列表
type OrderListByAgentModel struct {
	TradeNo    string `gorm:"column:trade_no" json:"tradeNo"`        // 商户订单号
	OutTradeNo string `gorm:"column:out_trade_no" json:"outTradeNo"` // 第三方订单号
	MemberId   string `gorm:"column:member_id" json:"memberId"`      // 会员ID
	MemberName string `gorm:"column:member_name" json:"memberName"`  // 会员名
	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`      // 设备标识
	SharedMode string `gorm:"column:shared_mode" json:"sharedMode"`  // 设备共享模型  pcl密码线充 cdb充电宝

	IsDraw int8 `gorm:"column:is_draw" json:"isDraw"` // 是否抽单 默认0 1:抽单

	OrderFrom string `gorm:"column:order_from" json:"orderFrom"` // 订单来源 weixin zhifubao
	PayFrom   int8   `gorm:"column:pay_from" json:"payFrom"`     // 支付来源 1免押 2押金
	PayType   int8   `gorm:"column:pay_type" json:"payType"`     // 支付类型 3:微信支付

	State int8 `gorm:"column:state" json:"state"` // 商户平台订单状态 1:等待下单2:使用中3:已撤销4:交易失败5:已完成6:支付超时7:待守约10:已删除

	SettlementWay      int8   `gorm:"column:settlement_way" json:"settlementWay"` // 结算方式 1: 微信支付
	SettlementMoney    int64  `gorm:"column:settlement_money" json:"-"`           // 结算金额
	SettlementMoneyStr string `gorm:"column:settlement_money_str" json:"settlementMoneyStr"`
	SettlementState    int8   `gorm:"column:settlement_state" json:"settlementState"` // 结算状态 1:未结算 2:结算中 3:已结算

	PayAt    dingo.Time `gorm:"column:pay_at" json:"payAt"`
	CreateAt dingo.Time `gorm:"column:create_at" json:"createAt"`
	UpdateAt dingo.Time `gorm:"column:update_at" json:"updateAt"`
	EndAt    dingo.Time `gorm:"column:end_at" json:"endAt"`
}

func (model *OrderModel) Mutate(attrs ...OrdersAttr) *OrderModel {
	OrdersAttrs(attrs).Apply(model)
	return model
}

func (model *OrderModel) GetTableName() string {
	return "orders"
}

type OrderTakeModel struct {
	Id     int    `gorm:"column:id" json:"id"`    //
	Appid  string `gorm:"column:appid" json:"-"`  // Appid
	Mchid  string `gorm:"column:mchid" json:"-"`  // 商户ID
	Openid string `gorm:"column:openid" json:"-"` // openid

	TradeNo    string `gorm:"column:trade_no" json:"tradeNo"`        // 商户订单号
	OutTradeNo string `gorm:"column:out_trade_no" json:"outTradeNo"` // 第三方订单号
	TradeType  string `gorm:"column:trade_type" json:"tradeType"`    // 第三方订单类型 PreAuthPay:预授权 Normal:普通支付(押金支付)
	// 第三方交易状态 微信免押：CREATED 商户已创建服务订单  DOING 服务订单进行中 DONE 服务订单完成 REVOKED 商户取消服务订单 EXPIRED 服务订单已失效
	// 第三方交易状态 微信押金：SUCCESS 支付成功
	// 第三方交易状态 支付宝：
	TradeState      string `gorm:"column:trade_state" json:"tradeState"`
	TradeStateDoing string `gorm:"column:trade_state_doing" json:"tradeStateDoing"`
	// 第三方交易状态 微信免押-doing状态下：USER_CONFIRM：用户确认  MCH_COMPLETE：商户完结
	TradeStateDesc string `gorm:"column:trade_state_desc" json:"tradeStateDesc"` // 第三方交易状态描述
	State          int8   `gorm:"column:state" json:"state"`                     // 商户平台订单状态 1:等待下单2:使用中3:已撤销4:交易失败5:已完成6:支付超时7:待守约10:已删除

	Title string `gorm:"column:title" json:"title"` // 订单标题

	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`     // 设备标识
	SharedMode string `gorm:"column:shared_mode" json:"sharedMode"` // 设备共享模型  pcl密码线充 cdb充电宝
	FeeMode    int8   `gorm:"column:fee_mode" json:"feeMode"`       // 设备费用模型  2:预付费  1:普通

	Money              int64  `gorm:"column:money" json:"-"`                      // 订单总金额 - 单位分
	MoneyStr           string `gorm:"column:money_str" json:"moneyStr"`           //
	PayMoney           int64  `gorm:"column:pay_money" json:"-"`                  // 支付金额 - 单位分
	PayMoneyStr        string `gorm:"column:pay_money_str" json:"payMoneyStr"`    //
	SettlementWay      int8   `gorm:"column:settlement_way" json:"settlementWay"` // 结算方式 1: 微信支付
	SettlementMoney    int64  `gorm:"column:settlement_money" json:"-"`           // 结算金额
	SettlementMoneyStr string `gorm:"column:settlement_money_str" json:"settlementMoneyStr"`
	SettlementState    int8   `gorm:"column:settlement_state" json:"settlementState"` // 结算状态 1:未结算 2:结算中 3:已结算
	RefundMoney        int64  `gorm:"column:refund_money" json:"refundMoney"`

	CouponType     int8   `gorm:"column:coupon_type" json:"couponType"`
	CouponMoney    int64  `gorm:"column:coupon_money" json:"-"`
	CouponMoneyStr string `gorm:"column:coupon_money_str" json:"couponMoneyStr"`

	OrderFrom string `gorm:"column:order_from" json:"orderFrom"` // 订单来源 weixin zhifubao
	PayFrom   int8   `gorm:"column:pay_from" json:"payFrom"`     // 支付来源 1免押 2押金
	PayType   int8   `gorm:"column:pay_type" json:"payType"`     // 支付类型 3:微信支付

	PlaceId    int    `gorm:"column:place_id" json:"placeId"`       // 网点ID
	PlaceName  string `gorm:"column:place_name" json:"placeName"`   // 网点名
	MemberId   string `gorm:"column:member_id" json:"memberId"`     // 会员ID
	MemberName string `gorm:"column:member_name" json:"memberName"` // 会员名
	UserId     int    `gorm:"column:user_id" json:"userId"`         // 代理商ID
	UserName   string `gorm:"column:user_name" json:"userName"`

	OvertimeState int8 `gorm:"column:overtime_state" json:"overtime_state"` // 充电宝超时状态 1:正常 2:超时
	IsDelete      int8 `gorm:"column:is_delete" json:"-"`                   // 是否删除 默认0 1:删除

	PayAt    dingo.Time `gorm:"column:pay_at" json:"payAt"`
	CreateAt dingo.Time `gorm:"column:create_at" json:"createAt"`
	UpdateAt dingo.Time `gorm:"column:update_at" json:"updateAt"`
	RefundAt dingo.Time `gorm:"column:refund_at" json:"-"`
	EndAt    dingo.Time `gorm:"column:end_at" json:"endAt"`
	DeleteAt dingo.Time `gorm:"column:delete_at" json:"-"`
}

type OrderExportModel struct {
	TradeNo         string     `gorm:"column:trade_no" json:"tradeNo"`                 //订单编号
	OutTradeNo      string     `gorm:"column:out_trade_no" json:"outTradeNo"`          //第三方订单编号
	State           int8       `gorm:"column:state" json:"state"`                      //订单状态
	MemberName      string     `gorm:"column:member_name" json:"memberName"`           //会员名称
	OrderFrom       string     `gorm:"column:order_from" json:"orderFrom"`             //订单来源
	PlaceId         int        `gorm:"column:place_id" json:"placeId"`                 //网点ID
	PlaceName       string     `gorm:"column:place_name" json:"placeName"`             //商户名称
	DeviceSn        string     `gorm:"column:device_sn" json:"deviceSn"`               //设备标识
	PayMoney        int64      `gorm:"column:pay_money" json:"payMoney"`               //支付金额
	SettlementMoney int64      `gorm:"column:settlement_money" json:"settlementMoney"` //结算金额
	TradeStateDesc  string     `gorm:"column:trade_state_desc" json:"tradeStateDesc"`  //服务状态
	Phone           string     `gorm:"column:phone" json:"phone"`                      //会员手机号码
	UserId          int        `gorm:"column:user_id" json:"userId"`                   //代理商ID
	UserName        string     `gorm:"column:user_name" json:"userName"`               //代理商名称
	UserNo          string     `gorm:"-" json:"userNo"`                                //用户编号
	MemberPhone     string     `gorm:"column:phone" json:"phone"`                      //会员手机号码
	CreateAt        dingo.Time `gorm:"column:create_at" json:"createAt"`               //借出时间
	EndAt           dingo.Time `gorm:"column:end_at" json:"endAt"`                     //归还时间
	IsDraw          int        `gorm:"column:is_draw" json:"isDraw"`
	CouponType      int        `gorm:"column:coupon_type" json:"couponType"`
	CouponMoney     int64      `gorm:"column:coupon_money" json:"couponMoney"`
	IsTianHai       int        `gorm:"column:is_tianhai" json:"isTianhai"`
	HotelId         string     `gorm:"column:hotel_id" json:"hotelId"` // 酒店ID
}

type GetUserIncomeModel struct {
	UserId    int   `gorm:"column:user_id" json:"userId"` //代理商ID
	CashTotal int64 `gorm:"column:cash_total" json:"cashTotal"`
	Money     int64 `gorm:"column:money" json:"money"` //分红金额
}

type PlaceIncome struct {
	PlaceId int   `gorm:"column:place_id" json:"placeId"` // 网点ID
	Money   int64 `gorm:"column:money" json:"money"`      // 金额
}

type AliPayOrdersModel struct {
	Id         int    `gorm:"column:id" json:"id"`                   //
	TradeNo    string `gorm:"column:trade_no" json:"tradeNo"`        // 商户订单号
	OutTradeNo string `gorm:"column:out_trade_no" json:"outTradeNo"` // 第三方订单号
	TradeType  string `gorm:"column:trade_type" json:"tradeType"`    // 第三方订单类型 PreAuthPay:预授权 Normal:普通支付(押金支付)
	// 第三方交易状态 微信免押：CREATED 商户已创建服务订单  DOING 服务订单进行中 DONE 服务订单完成 REVOKED 商户取消服务订单 EXPIRED 服务订单已失效
	// 第三方交易状态 微信押金：SUCCESS 支付成功
	// 第三方交易状态 支付宝：
	State      int8   `gorm:"column:state" json:"state"`            // 商户平台订单状态 1:等待下单2:使用中3:已撤销4:交易失败5:已完成6:支付超时7:待守约10:已删除
	Title      string `gorm:"column:title" json:"title"`            // 订单标题
	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`     // 设备标识
	SharedMode string `gorm:"column:shared_mode" json:"sharedMode"` // 设备共享模型  pcl密码线充 cdb充电宝
	FeeMode    int8   `gorm:"column:fee_mode" json:"feeMode"`       // 设备费用模型  2:预付费  1:普通

	Money    int64  `gorm:"column:money" json:"-"`            // 订单总金额 - 单位分
	MoneyStr string `gorm:"column:money_str" json:"moneyStr"` //

	PayMoney           int64  `gorm:"column:pay_money" json:"-"`               // 支付金额 - 单位分
	PayMoneyStr        string `gorm:"column:pay_money_str" json:"payMoneyStr"` //
	RefundMoney        int64  `gorm:"column:refund_money" json:"refundMoney"`
	SettlementMoney    int64  `gorm:"column:settlement_money" json:"-"` // 结算金额
	SettlementMoneyStr string `gorm:"column:settlement_money_str" json:"settlementMoneyStr"`

	PayFrom int8 `gorm:"column:pay_from" json:"payFrom"` // 支付来源 1免押 2押金

	PlaceName string     `gorm:"column:place_name" json:"placeName"` // 网点名
	ProductId string     `gorm:"product_id" json:"productId"`        // 产生订单时的产品价格(商户对应的价格)
	CreateAt  dingo.Time `gorm:"column:create_at" json:"createAt"`
}

type OrdersUserRelevancy struct {
	UserId  int    `gorm:"column:user_id" json:"userId"`   // 代理商ID
	TradeNo string `gorm:"column:trade_no" json:"tradeNo"` // 商户订单号
}

type CountOrder struct {
	CountWeixin         int64 `gorm:"column:count_weixin" json:"count_weixin"`
	CountZhifubao       int64 `gorm:"column:count_zhifubao" json:"count_zhifubao"`
	CountStatusServing  int64 `gorm:"column:count_status_serving" json:"count_status_serving"`
	CountStatusReturned int64 `gorm:"column:count_status_returned" json:"count_status_returned"`
	CountStatusWaiting  int64 `gorm:"column:count_status_waiting" json:"count_status_waiting"`
	CountStatusRevoked  int64 `gorm:"column:count_status_revoked" json:"count_status_revoked"`
	CountSettMoney      int64 `gorm:"column:count_sett_money" json:"count_sett_money"`
}

type OrderWithPlaceFirst struct {
	Id     int    `gorm:"column:id" json:"id"`       //
	PlaceId int   `gorm:"column:place_id" json:"placeId"` // 网点ID
	DeviceSn   string `gorm:"column:device_sn" json:"deviceSn"`     // 设备标识
	IsOpenFirst   int `gorm:"column:is_open_first" json:"isOpenFirst"`     // 设备标识
}
